(define (member1 atm lis)
  (cond
    ((null? lis) #F)
    ((eq? atm (car lis)) #T)
    (else (member1 atm (cdr lis)))
    ))


(define (equalsimp lis1 lis2)
  (cond
    ((null? lis1) (null? lis2))
    ((null? lis2) #F)
    ((eq? (car lis1) (car lis2))
    (equalsimp (cdr lis1) (cdr lis2)))
    (else #F)
    ))


(define (equal lis1 lis2)
  (cond
    ((not (list? lis1)) (eq? lis1 lis2))
    ((not (list? lis2)) #F)
    ((null? lis1) (null? lis2))
    ((null? lis2) #F)
    ((equal (car lis1) (car lis2))
     (equal (cdr lis1) (cdr lis2)))
    (else #F)
    ))


(define (append1 lis1 lis2)
  (cond
    ((null? lis1) lis2)
    (else (cons (car lis1) (append1 (cdr lis1) lis2)))
    ))


(define (guess lis1 lis2)
  (cond
    ((null? lis1) '())
    ((member (car lis1) lis2)
     (cons (car lis1) (guess (cdr lis1) lis2)))
    (else (guess (cdr lis1) list))
   ))


(define (adder lis)
  (cond
    ((null? lis) 0)
    (else (eval (cons '+ lis)))
    ))


(define (append1 lis1 lis2)
  (cond
    ((null? lis1) lis2)
    (else (cons (car lis1) (append (cdr lis1) lis2)))
    ))


(define (reverse_list lis)
(cond
  ((null? lis) '())
   (else (append1 (reverse_list (cdr lis)) (list (car lis)))))
    
    )
    

(define my_list '(1 2 3 4 5))


(reverse_list my_list)


(reverse_list '(a b c d f))


(reverse_list '())
